In traditional computing network systems, Thin Clients are usually client computer or client software in a client-server architecture wherein a central server actions activities such as desktop applications and wherein a web browser or a remote desktop software runs on the thin client device. Because application logic is handled by the Server there are many Thin Client advantages such as reducing IT maintenance and administration costs, enhanced data and system security, and reduced power consumption.
We can distinguish two main types of Thin Client System.
The first type is a WebTop System (for “Web” and “Desktop”) or WebOS {Web Operating System) which enables the user to interact with the web equivalent of a desktop. The applications and documents associated to a user are gathered to create a page representing this information. Web services scripting Application Programming Interface (API) such as SOAP-XML (Simple Object Access Protocol-Extensible Markup Language) are the main technologies used.
The second type is a Screen Top System, (for “screen” and “Desktop”), wherein a remote administration software allows Graphical User Interface applications to be run remotely on a server while being displayed locally on the user's device. Thin Clients protocols such as ICA (Independent Computing Architecture) RDP (Remote Desktop Protocol), RFB (Remote Frame Buffer), or even AIP (Adaptive Internet Protocol) are main protocols used in order for a server to remotely control the screen display of a user's device.
One main issue in deploying Thin Client technology is to know whether an application should be local (i e resident), remote, or both Because when no more network connection is available in mobility context applications, such a phone book, a media player or any other resident applications would be no more available. Consequently, those applications and data should be duplicated locally on the device memory and remotely on e.g. a corporate network server.
In order to alleviate the data duplication problems, standardized synchronization technologies are provided such as in OMA Device Management (Open Mobile Alliance), OMA Data synchronization and OMA Client Provisioning Working Group.
Moreover, it is foreseen that a mobile device will have both resident applications—that can still be locally used even when having no network connection—and remote desktop applications (i.e. screen Top) to access office or specific enterprise applications or even home personal applications.
A drag-and-drop is performed when a user selects one or more graphical objects and drags this selection using a pointing device (for instance a mouse, a trackball, a touch-based interface) and then release the pressure to perform a drop of the object(s). Basically the window in which the pointing device points receives a message notifying a drop operation and the object to be transferred and preferably a description of the object.
Generally, the data to be transferred is stored in a clipboard in appropriated format therefore requiring potential conversion. Such clipboard is usually encapsulated into a file or a group of files.
The existing solutions based on a shared clipboard present interoperability and synchronization limitations. On the one hand they do not enable to negotiate the format of the data to be dragged and dropped. On the other hand they are often tight to specific implementations and dependent upon the Operating System. Besides they are often used for text-based object rather than files or directories as the shared clipboard becomes more complex to manage with huge amount of data.
Moreover, the existing solutions can be used between a local and a remote application but are not applicable in the case of drag-and-dropping action between remote applications.
Patent application WO 2007/142708 A1 discloses a method for dropping data object of low size (e.g. text message) over the currently established terminal service session between a client component and a server component. This method is bound to the remote procedure call (RFC) of the object and does not enable to exchange the data using different data transfer means (e.g. file transfer, streaming, . . . ), and is tight to the two devices involved in the session. Actually, large data file may require other more suitable protocol depending on the desired dropping action.
The present invention proposes a drag-and-drop approach that overcomes the above drawbacks.